﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pgReconocimientos.aspx.cs" Inherits="Utpl.Syllabus.Reconocimiento.Web.pgReconocimientos" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .template
        {
            color: #fff;
            background-color: gray;
        }
        
        .white-footer .x-panel-footer
        {
            background-color: white !important;
        }
        /*
        *Css para cbo con grid
        */
        .cbStates-list
        {
            width: 298px;
            font: 11px tahoma,arial,helvetica,sans-serif;
        }
        
        .cbStates-list th
        {
            font-weight: bold;
        }
        
        .cbStates-list td, .cbStates-list th
        {
            padding: 3px;
        }
    </style>
    <style type="text/css">
        .my-disabled .x-grid3-row-checker {
            filter: alpha(opacity=60);
            opacity: 0.6;
        }
    </style>
    

</head>
<body>
<ext:Store ID="stoPeriodoAcademico" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Mapping="Id" Type="Int" />
                    <ext:RecordField Mapping="Nombre" Type="String" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    <ext:Store ID="stoEstadoComponente" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Name="Id" />
                    <ext:RecordField Name="EstadoNombre" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    <ext:Store ID="stoProgramaOrigen" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Name="Id" />
                    <ext:RecordField Name="Descripcion" />
                    <ext:RecordField Name="Codigo" />
                    <ext:RecordField Name="NivelAcademico" />
                    <ext:RecordField Name="Identificacion" />
                    <ext:RecordField Name="TipoAprobacion" />
                    <ext:RecordField Name="PlanEstudioId" />
                    <ext:RecordField Name="Modalidad" />
                    <ext:RecordField Name="PlanAsignaturas" IsComplex="true" />
                      <%--Adicionamos la propiedad no mapeada --%>
                    <ext:RecordField Name="isDisabled" Type="Boolean" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    <ext:Store ID="stoProgramaAcademico" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Name="Id" />
                    <ext:RecordField Name="VariacionNombre" />
                    <ext:RecordField Name="ProgramaAcademicoId" />
                    <ext:RecordField Name="ProgramaAcademicoNombre" />
                    <ext:RecordField Name="ProgramaAcademicoCodigo" />
                    <ext:RecordField Name="ModalidadId" />
                    <ext:RecordField Name="ModalidadNombre" />
                    <ext:RecordField Name="NivelAcademicoId" />
                    <ext:RecordField Name="NivelAcademicoNombre" />
                    <ext:RecordField Name="FormaAprobacionId" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    <ext:Store ID="stoComponenteNoReconocidos" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="AsignaturaId">
                <Fields>
                    <ext:RecordField Name="Id" Type="Int" />
                    <ext:RecordField Name="AsignaturaId" Type="Int" />
                    <ext:RecordField Name="Codigo" />
                    <ext:RecordField Name="Nombre" />
                    <ext:RecordField Name="Nota" />
                    <ext:RecordField Name="Nivel" />
                    <ext:RecordField Name="Creditos" />
                    <ext:RecordField Name="GrupoCreditoId" />
                    <ext:RecordField Name="GrupoCredito" />
                    <ext:RecordField Name="UsoId" />
                    <ext:RecordField Name="PlanEstudioId" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <Listeners>
            <Remove Handler="pgHomologacionDirecta.CountTotal(store,'lblTotalGrpOrigen');"></Remove>
            <Add Handler="pgHomologacionDirecta.CountTotal(store,'lblTotalGrpOrigen');"></Add>
        </Listeners>
    </ext:Store>
    <ext:Store ID="stoComponenteReconocidos" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="ComponenteId">
                <Fields>
                    <ext:RecordField Name="Id" Type="Int" />
                    <ext:RecordField Name="ComponenteId" Type="Int" />
                    <ext:RecordField Name="ComponentesOrigen" IsComplex="true" />
                    <ext:RecordField Name="Codigo" />
                    <ext:RecordField Name="Nombre" />
                    <ext:RecordField Name="Creditos" />
                    <ext:RecordField Name="Nota" />
                    <ext:RecordField Name="GrupoCreditoId" />
                    <ext:RecordField Name="EstadoHologacion" />
                    <ext:RecordField Name="PlanEstudioId" />
                    <ext:RecordField Name="Usuario" />
                    <ext:RecordField Name="TipoReconocimiento" />
                    <ext:RecordField Name="EstadoEquivalencia" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <Listeners>
            <Remove Handler="pgHomologacionDirecta.CountTotal(store,'lblTotalGrpDestino');">
            </Remove>
            <Add Handler="pgHomologacionDirecta.CountTotal(store,'lblTotalGrpDestino');"></Add>
        </Listeners>
    </ext:Store>
    <%--Formato de tabla en grid --%>
    <ext:Store ID="storeTabla" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Name="Id" />
                    <ext:RecordField Name="Nombre" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>

    <ext:Store ID="stoGrupo" runat="server">
        <Reader>
            <ext:JsonReader IDProperty="GrupoId">
                <Fields>
                    <ext:RecordField Name="GrupoNombre" />
                    <ext:RecordField Name="GrupoId" />
                </Fields>
            </ext:JsonReader>
        </Reader>
    </ext:Store>
    <ext:Store runat="server" ID="stoReconocimiento" OnRefreshData="StoreRefresh" RemotePaging="false" AutoLoad="false">
        <Reader>
            <ext:JsonReader IDProperty="Id">
                <Fields>
                    <ext:RecordField Name="Id" />
                    <ext:RecordField Name="NombreVariacion" />
                    <ext:RecordField Name="NumeroProceso" />
                    <ext:RecordField Name="NombreSolicitante" />
                    <ext:RecordField Name="Modalidad" />
                    <ext:RecordField Name="UsuarioCrea" />
                    <ext:RecordField Name="UsuarioActualiza" />
                    <ext:RecordField Name="UsuarioFinaliza" />
                    <ext:RecordField Name="Estado" />
                    <ext:RecordField Name="PeriodoAcademico" />
                </Fields>
            </ext:JsonReader>
        </Reader>
        <Proxy>
            <ext:PageProxy>
            </ext:PageProxy>
        </Proxy>
        <BaseParams>
            <ext:Parameter Name="PeriodoAcademicoId" Value="#{cbbPeriodoAcademicoB}.getValue()" Mode="Raw" />
            <ext:Parameter Name="Estado" Value="#{cbbEstado}.getValue()" Mode="Raw" />
            <ext:Parameter Name="NumeroProceso" Value="#{txtNumeroProceso}.getValue()" Mode="Raw" />
            <ext:Parameter Name="PersonaId" Value="#{wccBuscadorBasicoPersona3}.getValueId()"
                Mode="Raw" />
        </BaseParams>
         <Listeners>
            <Load Handler="Syllabus.Js.Data.Store.validarDatosVacia(store,pgHomologacionDirecta.presentaMensaje);" />
            <Exception Fn="Syllabus.Js.HandlerExcepcion" />
        </Listeners>
        <DirectEventConfig>
            <EventMask ShowMask="true" />
        </DirectEventConfig>
    </ext:Store>
    <ext:Hidden runat="server" ID="hddindexSelect" />
    <ext:Hidden runat="server" ID="hddCodeEstado" />
    <ext:Hidden runat="server" ID="hddModalidad" />
    <ext:Hidden runat="server" ID="hddwccBuscarbasicoper" />
    <ext:ResourceManager ID="ResourceManager1" runat="server" DirectMethodNamespace="ReconocimientoDM" />
    <ext:Viewport ID="vwpContainer" runat="server" Hidden="false" Layout="Fit">
        <Items>
            <ext:Panel runat="server" ID="pnlFormularioMatricula" Layout="Fit" BodyStyle="background-color:transparent;">
                <Items>

                    <ext:Panel ID="pnlBorderLayout" runat="server" ButtonAlign="Center" BodyStyle="background-color:transparent;"
                        Header="false" Border="false" Layout="Border" Hidden="True">
                        <Items>
                            <ext:FormPanel ID="frpHomologacionBusqueda" runat="server" BodyStyle="background-color:transparent;"
                                Split="true" Collapsible="true" CollapseMode="Mini" ButtonAlign="Right" Region="North"
                                Border="false" Header="false" Width="200" Layout="Form" AutoHeight="true">
                                <Items>
                                    <ext:Panel runat="server" ID="pnlContainerBasico" Height="70" ButtonAlign="Center"
                                        Layout="Fit" BodyStyle="background-color:transparent;" Cls="x-panel-search">
                                        <Items>
                                            <ext:Panel ID="pnlBuscadorEstudiante" Header="false" runat="server" AnchorHorizontal="100%"
                                                BodyStyle="background-color:transparent;" Cls="x-panel-search-content" Title="<%$ Res: Titulos.ConsultaIndividual %>"
                                                LabelWidth="120">
                                                <Items>
                                                    <syllabus:wccbuscadorbasicopersona id="wccBuscadorBasicoPersona2" runat="server"
                                                        anchorhorizontal="100%">
                                                        <Listeners>
                                                            <AfterFind Fn="pgHomologacionDirecta.HabilitarVariacion" />
                                                            <Reset Fn="pgHomologacionDirecta.DesHabilitarVariacion" />
                                                            <BotonAvanzadoClick Handler="#{hddwccBuscarbasicoper}.setValue('wccBuscadorBasicoPersona2');#{wccBuscadorAvanzadoPersona2}.show();" />
                                                          
                                                        </Listeners>    
                                                        </syllabus:wccbuscadorbasicopersona>
                                                </Items>
                                            </ext:Panel>
                                        </Items>
                                    </ext:Panel>
                                    <ext:Panel runat="server" ID="Panel1" Border="false" Layout="Fit" ButtonAlign="Center"
                                        BodyStyle="background-color:transparent;" Cls="x-panel-search">
                                        <Items>
                                            <ext:Panel ID="pnlInformacionEncabezado" runat="server" Border="false" Layout="Column"
                                                Height="175" Padding="0">
                                                <Items>
                                                    <ext:Panel ID="pnlDerecho" runat="server" Border="true" BodyStyle="background-color:Transparent;"
                                                        Title="Datos de Homologación" ColumnWidth=".6" Layout="Form" LabelWidth="80" Padding="0"
                                                        Margins="0">
                                                        <Items>
                                                            <ext:FormPanel ID="frpBuscadorProgramasAcademicos" runat="server" Cls="x-panel-search-content"
                                                                BodyStyle="background-color: Transparent;" Border="false" Layout="Column" AutoHeight="true"
                                                                LabelAlign="Top" Title="Filtro para búsqueda de variaciones">
                                                                <Items>
                                                                    <ext:Panel ID="pnlColumnaIzquierda" runat="server" Border="false" ColumnWidth=".33"
                                                                        Layout="Form" LabelWidth="125" Height="40">
                                                                        <Items>
                                                                            <ext:ComboBox FieldLabel="<%$ Res: Textos.UnidadAcademica %>" ID="cbbUnidadAcademica"
                                                                                runat="server" DisplayField="Nombre" ValueField="Id" TypeAhead="true" ForceSelection="true"
                                                                                TriggerAction="All" EmptyText="<%$ Res: Textos.EmptyText %>" SelectOnFocus="true"
                                                                                Mode="Local" ItemSelector="div.list-item" AnchorHorizontal="90%">
                                                                                <Store>
                                                                                    <ext:Store ID="stoUnidadAcademicaB" runat="server">
                                                                                        <Reader>
                                                                                            <ext:JsonReader IDProperty="Id">
                                                                                                <Fields>
                                                                                                    <ext:RecordField Mapping="Id" Type="Int" />
                                                                                                    <ext:RecordField Mapping="Nombre" Type="String" />
                                                                                                </Fields>
                                                                                            </ext:JsonReader>
                                                                                        </Reader>
                                                                                    </ext:Store>
                                                                                </Store>
                                                                                <Template ID="tmpUnidadAcademica" runat="server">
                                                                                    <Html>
                                                                                        <tpl for=".">
                                                                                            <div class="list-item">
                                                                                                {Nombre}
                                                                                            </div>
                                                                                        </tpl>
                                                                                    </Html>
                                                                                </Template>
                                                                                <Triggers>
                                                                                    <ext:FieldTrigger Icon="Clear" HideTrigger="true" />
                                                                                </Triggers>
                                                                                <Listeners>
                                                                                    <Select Handler="this.triggers[0].show();" />
                                                                                    <BeforeQuery Handler="this.triggers[0][ this.getRawValue().toString().length == 0 ? 'hide' : 'show']();" />
                                                                                    <TriggerClick Handler="if(index == 0) { this.clearValue(); this.triggers[0].hide(); };" />
                                                                                </Listeners>
                                                                                <%--Adicionamos la propiedad del objeto de negocio asociado al control--%>
                                                                                <CustomConfig>
                                                                                    <ext:ConfigItem Name="propiedadObjeto" Value="ProgramaAcademicoListCriteria.UnidadAcademicaId"
                                                                                        Mode="Value" />
                                                                                </CustomConfig>
                                                                            </ext:ComboBox>
                                                                        </Items>
                                                                    </ext:Panel>
                                                                    <ext:Panel ID="pnlCentro" runat="server" Border="false" ColumnWidth=".33" Layout="Form"
                                                                        LabelWidth="100" Height="40">
                                                                        <Items>
                                                                            <ext:ComboBox ID="cbbNivelAcademico" runat="server" DisplayField="Nombre" Editable="false"
                                                                                EmptyText="<%$ Res: Textos.EmptyText %>" FieldLabel="<%$ Res: Textos.TipoEstudio %>"
                                                                                ForceSelection="true" ItemSelector="div.list-item" AnchorHorizontal="90%" Mode="Local"
                                                                                SelectOnFocus="true" TriggerAction="All" TypeAhead="true" ValueField="Id">
                                                                                <Store>
                                                                                    <ext:Store ID="stoNivelAcademicoB" runat="server">
                                                                                        <Reader>
                                                                                            <ext:JsonReader IDProperty="Id">
                                                                                                <Fields>
                                                                                                    <ext:RecordField Name="Id" Type="Int" />
                                                                                                    <ext:RecordField Name="Nombre" Type="String" />
                                                                                                </Fields>
                                                                                            </ext:JsonReader>
                                                                                        </Reader>
                                                                                    </ext:Store>
                                                                                </Store>
                                                                                <Template ID="tmpNivelAcademico" runat="server">
                                                                                    <Html>
                                                                                        <tpl for=".">
                                                                                            <div class="list-item">
                                                                                                {Nombre}
                                                                                            </div>
                                                                                        </tpl>
                                                                                    </Html>
                                                                                </Template>
                                                                                <Triggers>
                                                                                    <ext:FieldTrigger Icon="Clear" HideTrigger="true" />
                                                                                </Triggers>
                                                                                <Listeners>
                                                                                    <Select Handler="this.triggers[0].show();" />
                                                                                    <BeforeQuery Handler="this.triggers[0][ this.getRawValue().toString().length == 0 ? 'hide' : 'show']();" />
                                                                                    <TriggerClick Handler="if(index == 0) { this.clearValue(); this.triggers[0].hide(); };" />
                                                                                </Listeners>
                                                                            </ext:ComboBox>
                                                                        </Items>
                                                                    </ext:Panel>
                                                                    <ext:Panel ID="pnlColumnaDerecha" runat="server" Border="false" ColumnWidth=".33"
                                                                        Layout="Form" LabelWidth="65">
                                                                        <Items>
                                                                            <ext:ComboBox ID="cbbModalidadEstudioBusqueda" FieldLabel="<%$ Res: Textos.Modalidad%>"
                                                                                runat="server" DisplayField="Nombre" ValueField="Id" TypeAhead="true" EmptyText="<%$ Res: Textos.EmptyText %>"
                                                                                Editable="false" AnchorHorizontal="99%" ItemSelector="div.list-item">
                                                                                <Store>
                                                                                    <ext:Store ID="stoModalidadB" runat="server">
                                                                                        <Reader>
                                                                                            <ext:JsonReader IDProperty="Id">
                                                                                                <Fields>
                                                                                                    <ext:RecordField Name="Id" Type="Int" />
                                                                                                    <ext:RecordField Name="Nombre" Type="String" />
                                                                                                </Fields>
                                                                                            </ext:JsonReader>
                                                                                        </Reader>
                                                                                    </ext:Store>
                                                                                </Store>
                                                                                <Template ID="tmpModalidad" runat="server">
                                                                                    <Html>
                                                                                        <tpl for=".">
                                                                                            <div class="list-item">{Nombre}</div>
                                                                                        </tpl>
                                                                                    </Html>
                                                                                </Template>
                                                                                <Triggers>
                                                                                    <ext:FieldTrigger Icon="Clear" HideTrigger="true" />
                                                                                </Triggers>
                                                                                <Listeners>
                                                                                    <Select Handler="this.triggers[0].show();" />
                                                                                    <BeforeQuery Handler="this.triggers[0][ this.getRawValue().toString().length == 0 ? 'hide' : 'show']();" />
                                                                                    <TriggerClick Handler="if(index == 0) { this.clearValue(); this.triggers[0].hide(); };" />
                                                                                </Listeners>
                                                                            </ext:ComboBox>
                                                                        </Items>
                                                                    </ext:Panel>
                                                                </Items>
                                                            </ext:FormPanel>
                                                            <ext:FormPanel ID="frpVariacionPeriodo" runat="server" Cls="x-panel-search-content" BodyStyle="background-color: Transparent;"
                                                                Border="false" Layout="Column" AutoHeight="true" LabelAlign="Top">
                                                                <Items>
                                                                    <ext:Panel ID="pnlIzq" runat="server" Border="false" ColumnWidth=".5" Layout="Form"
                                                                        LabelWidth="125" Height="40">
                                                                        <Items>
                                                                            <ext:ComboBox ID="cbbProgramaAcademico" FieldLabel="Variación solicitada" runat="server" EmptyText="Seleccione Item"
                                                                                Disabled="True" TypeAhead="true" ForceSelection="true" AllowBlank="False" StoreID="stoProgramaAcademico"
                                                                                Mode="Local" DisplayField="VariacionNombre" ValueField="Id" MinChars="1" ListWidth="400"
                                                                                PageSize="10" ItemSelector="tr.list-item" AnchorHorizontal="95%">
                                                                                <Template ID="Template3" runat="server">
                                                                                    <Html>
                                                                                        <tpl for=".">
						                                                                    <tpl if="[xindex] == 1">
							                                                                    <table class="cbStates-list">
								                                                                    <tr>
									                                                                    <th>Nombre Variación</th>
									                                                                    <th>Código</th>
                                                                                                        <th>Nivel Académico</th>
                                                                                                        <th>Modalidad</th>
								                                                                    </tr>
						                                                                    </tpl>
						                                                                    <tr class="list-item">
						                                                                        <td>{VariacionNombre}</td>
							                                                                    <td>{ProgramaAcademicoCodigo}</td>
                                                                                                <td>{NivelAcademicoNombre}</td>
                                                                                                <td>{ModalidadNombre}</td>
						                                                                    </tr>
						                                                                    <tpl if="[xcount-xindex]==0">
							                                                                    </table>
						                                                                    </tpl>
					                                                                    </tpl>
                                                                                    </Html>
                                                                                </Template>
                                                                                <DirectEvents>
                                                                                    <Focus OnEvent="cbbProgramaAcademico_BeforeSelect" Before="return pgHomologacionDirecta.BeforeSelectCbbProgramaAcademi(null);">
                                                                                        <ExtraParams>
                                                                                            <ext:Parameter Name="Modalidad" Value="#{cbbModalidadEstudioBusqueda}.getValue()" 
                                                                                                Mode="Raw" />
                                                                                            <ext:Parameter Name="NivelAcademico" Value="#{cbbNivelAcademico}.getValue()" Mode="Raw" />
                                                                                            <ext:Parameter Name="UnidadAcademica" Value="#{cbbUnidadAcademica}.getValue()" Mode="Raw" />
                                                                                        </ExtraParams>
                                                                                        <EventMask ShowMask="true"></EventMask>
                                                                                    </Focus>
                                                                                    <Select OnEvent="cbbProgramaAcademico_Select" Before="return pgHomologacionDirecta.BeforeSelectCbbProgramaAcademi(null);">
                                                                                        <ExtraParams>
                                                                                            <ext:Parameter Name="NivelAcademico" Value="record.data.NivelAcademicoNombre" Mode="Raw" />
                                                                                            <ext:Parameter Name="Modalidad" Value="record.data.ModalidadNombre" Mode="Raw" />
                                                                                            <ext:Parameter Name="VariacionId" Value="#{cbbProgramaAcademico}.getValue()" Mode="Raw" />
                                                                                            <ext:Parameter Name="Identificacion" Value="#{wccBuscadorBasicoPersona2}.getValue().Identificacion"
                                                                                                Mode="Raw" />
                                                                                                <ext:Parameter Name="PersonaId" Value="#{wccBuscadorBasicoPersona2}.getValueId()" Mode="Raw" />
                                                                                        </ExtraParams>
                                                                                        <EventMask ShowMask="true"></EventMask>
                                                                                    </Select>
                                                                                </DirectEvents>
                                                                                <Listeners>
                                                                                    <BeforeSelect Handler="return pgHomologacionDirecta.BeforeSelectCbbProgramaAcademi(item);"></BeforeSelect>
                                                                                </Listeners>
                                                                            </ext:ComboBox>
                                                                        </Items>
                                                                    </ext:Panel>
                                                                    <ext:Panel ID="pnlDer" runat="server" Border="false" ColumnWidth=".5" Layout="Form"
                                                                        LabelWidth="65">
                                                                        <Items>
                                                                            <ext:ComboBox FieldLabel="Periodo Académico de la Homologación" ID="cbbPeriodoAcademico" StoreID="stoPeriodoAcademico"
                                                                                AllowBlank="false" runat="server" DisplayField="Nombre" ValueField="Id" TypeAhead="true"
                                                                                ForceSelection="true" TriggerAction="All" EmptyText="<%$ Res: Textos.EmptyText %>"
                                                                                SelectOnFocus="true" Mode="Local" ItemSelector="div.list-item" AnchorHorizontal="95%">
                                                                                <Template ID="Template2" runat="server">
                                                                                    <Html>
                                                                                        <tpl for=".">
                                                                                        <div class="list-item">
                                                                                            {Nombre}
                                                                                        </div>
                                                                                    </tpl>
                                                                                    </Html>
                                                                                </Template>
                                                                            </ext:ComboBox>
                                                                        </Items>
                                                                    </ext:Panel>
                                                                </Items>
                                                            </ext:FormPanel>
                                                        </Items>
                                                    </ext:Panel>
                                                    <ext:Panel ID="pnlIzquierdo" runat="server" Border="true" BodyStyle="background-color:Transparent;"
                                                        Padding="0" Margins="0" ColumnWidth=".4" Title="Programas Origen" LabelWidth="120">
                                                        <Items>
                                                            <ext:Hidden runat="server" ID="hddOpcionRowSelect"></ext:Hidden>
                                                            <ext:GridPanel ID="gpProgramOrigen" runat="server" StoreID="stoProgramaOrigen" Disabled="True"
                                                                StripeRows="true" AutoExpandColumn="Nombre" Height="150" Cls="x-panel-search-content">
                                                                <SelectionModel>
                                                                    <ext:RowSelectionModel ID="RowSelectionModel3" runat="server" SingleSelect="true" >
                                                                    </ext:RowSelectionModel>
                                                                </SelectionModel>
                                                                <ColumnModel ID="ColumnModel2" runat="server">
                                                                    <Columns>
                                                                         <ext:CommandColumn Width="60" ColumnID="gpOrigenCmdColum">
                                                                            <Commands>
                                                                                <ext:GridCommand CommandName="Add" Icon="ApplicationAdd" ToolTip-Text="Agregar componentes" />
                                                                                <ext:GridCommand CommandName="Delete" Icon="PageDelete" ToolTip-Text="Eliminar componentes" />
                                                                            </Commands>
                                                                             <PrepareToolbar Fn="pgHomologacionDirecta.prepare" />  
                                                                        </ext:CommandColumn>
                                                                        
                                                                        <ext:Column ColumnID="Nombre" Header="Nombre" Width="75" DataIndex="Descripcion" >
                                                                            <Renderer Fn="Sy.Render.textoWrap" />
                                                                        </ext:Column>
                                                                        <ext:Column Header="Código" Width="75" DataIndex="Codigo" >
                                                                            <Renderer Fn="Sy.Render.textoWrap" />
                                                                        </ext:Column>
                                                                        <ext:Column Header="Modalidad" Width="75" DataIndex="Modalidad" />
                                                                        <ext:Column Header="Nivel Academico" Width="75" DataIndex="NivelAcademico" />
                                                                    </Columns>
                                                                </ColumnModel>
                                                               <Listeners>
                                                                    <command Handler="pgHomologacionDirecta.AgregarQuitarComponentesOrigenCmd(command, record,rowIndex,colIndex);"></command>
                                                                   <%-- <RowClick Handler="pgHomologacionDirecta.AgregarQuitarComponentesOrigen(rowIndex);" ></RowClick>  --%>
                                                                </Listeners>

                                                            </ext:GridPanel>
                                                        </Items>
                                                        <Listeners>
                                                           <AfterLayout Handler="if(item.getWidth()>0) #{gpProgramOrigen}.setWidth(item.getWidth());"></AfterLayout>
                                                           
                                                        </Listeners>
                                                    </ext:Panel>
                                                </Items>
                                            </ext:Panel>
                                        </Items>
                                        <Buttons>
                                            <ext:Button ID="btnEvaluar" runat="server" Text="Evaluar">
                                                <DirectEvents>
                                                    <Click OnEvent="btnEvaluarAutomaticamente_Click" Before="return pgHomologacionDirecta.ValidarDatosEvaluacion();">
                                                        <EventMask ShowMask="true" />
                                                        <ExtraParams>
                                                            <ext:Parameter Name="VariacionId" Value="#{cbbProgramaAcademico}.getValue()" Mode="Raw" />
                                                            <ext:Parameter Name="Identificacion" Value="#{wccBuscadorBasicoPersona2}.getValue().Identificacion"
                                                                                                Mode="Raw" />
                                                            <ext:Parameter Name="ProgramaDestino" Value="#{cbbProgramaAcademico}.getValue()"
                                                                Mode="Raw" />
                                                             <ext:Parameter Name="PersonaId" Value="#{wccBuscadorBasicoPersona2}.getValueId()"
                                                                Mode="Raw" />  
                                                             <ext:Parameter Name="PeriodoAcademicoId" Value="#{cbbPeriodoAcademico}.getValue()"
                                                                Mode="Raw" />   
                                                        </ExtraParams>
                                                    </Click>
                                                </DirectEvents>
                                            </ext:Button>
                                        </Buttons>
                                    </ext:Panel>
                                </Items>
                            </ext:FormPanel>
                            <ext:FormPanel runat="server" ID="frpResumen" Padding="2" Title="Componentes a reconocer"
                                BodyStyle="background-color:transparent;" Border="true" ButtonAlign="Left" Split="true"
                                MinWidth="350" Width="350" Region="West" Collapsed="False" Collapsible="false" HideCollapseTool="true"
                                CollapseMode="Mini" Layout="Form">
                                <Items>
                                    <ext:GridPanel ID="grpOrigen" runat="server" StoreID="stoComponenteNoReconocidos"
                                        AutoExpandColumn="Nombre" Height="300" AutoScroll="true">
                                        <LayoutConfig>
                                            <ext:ColumnLayoutConfig FitHeight="false" Margin="2" />
                                        </LayoutConfig>
                                        <SelectionModel>
                                            <ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
                                            </ext:RowSelectionModel>
                                        </SelectionModel>
                                        <ColumnModel>
                                            <Columns>
                                                <ext:Column ColumnID="Nombre" Header="Componente" Width="160" DataIndex="Nombre"
                                                    Resizable="false" MenuDisabled="true" Fixed="true" >
                                                    <Renderer Fn="Sy.Render.textoWrap" />
                                                </ext:Column>
                                                <ext:Column Header="Código" Width="50" DataIndex="Codigo" >
                                                    <Renderer Fn="Sy.Render.textoWrap" />
                                                </ext:Column>
                                                <ext:Column Header="Nota" Width="40" DataIndex="Nota" />
                                                <ext:Column Header="Creditos" DataIndex="Creditos" Width="48" />
                                                <ext:CommandColumn Width="20">
                                                    <Commands>
                                                        <ext:GridCommand Icon="ArrowRight" CommandName="Pasar" />
                                                    </Commands>
                                                </ext:CommandColumn>
                                            </Columns>
                                        </ColumnModel>
                                        <LoadMask ShowMask="true" />
                                        <SaveMask ShowMask="true" />
                                        <BottomBar>
                                            <ext:Toolbar ID="Toolbargrid1" runat="server">
                                                <Items>
                                                    <ext:Label ID="lblTotalGrpOrigen" runat="server" />
                                                    <ext:ToolbarFill ID="ToolbarFillgrid1" runat="server" />
                                                </Items>
                                            </ext:Toolbar>
                                        </BottomBar>
                                        <Listeners>
                                            <Command Fn="pgHomologacionDirecta.CellClick" />
                                        </Listeners>
                                    </ext:GridPanel>
                                </Items>
                            </ext:FormPanel>
                            <ext:Panel runat="server" ID="Panel2" Padding="2" Title="Componentes reconocidos"
                                BodyStyle="background-color:transparent;" Border="true" ButtonAlign="Right" Split="true"
                                MinWidth="350" Collapsible="false" CollapseMode="Mini" Layout="Form" Region="Center">
                                <Items>
                                    <ext:GridPanel runat="server" ID="grpDestino" Height="270" AutoScroll="true" StoreID="stoComponenteReconocidos">
                                        <ColumnModel>
                                            <Columns>
                                                <ext:CommandColumn Width="15">
                                                    <Commands>
                                                        <ext:GridCommand Icon="Delete" CommandName="Delete">
                                                            <ToolTip Text="Delete" />
                                                        </ext:GridCommand>
                                                    </Commands>
                                                </ext:CommandColumn>
                                                <ext:Column Header="Componente" DataIndex="Nombre" >
                                                    <Renderer Fn="Sy.Render.textoWrap" />
                                                </ext:Column>
                                                <ext:Column Header="Código" DataIndex="Codigo" >
                                                    <Renderer Fn="Sy.Render.textoWrap" />
                                                </ext:Column>
                                                <ext:Column Header="Créditos" DataIndex="Creditos">
                                                    <Editor>
                                                        <ext:NumberField ID="NumberField1" runat="server" AllowBlank="false" MinValue="0" MaxLength="2"/>
                                                    </Editor>
                                                </ext:Column>
                                                <ext:Column Header="Nota" DataIndex="Nota">
                                                    <Editor>
                                                        <ext:NumberField EnableKeyEvents="true" ID="NumberField4" runat="server" AllowBlank="false" MinValue="0"  MaxLength="3">
                                                            
                                                        </ext:NumberField>
                                                    </Editor>
                                                </ext:Column>
                                                <ext:Column Header="Grupo Crédito" DataIndex="GrupoCreditoId">
                                                    <Editor>
                                                        <ext:ComboBox ID="cbbGrupoCreditoD" runat="server" Shadow="Drop" Mode="Local" TriggerAction="All"
                                                            ForceSelection="true" StoreID="stoGrupo" DisplayField="GrupoNombre" ValueField="GrupoId"
                                                            AllowBlank="False" ReadOnly="true" />
                                                    </Editor>
                                                </ext:Column>
                                                <ext:Column Header="Estado" DataIndex="EstadoHologacion">
                                                    <Editor >
                                                        <ext:ComboBox ID="cbbEstadoD" runat="server" Shadow="Drop" Mode="Local" TriggerAction="All"   
                                                            ForceSelection="true" StoreID="stoEstadoComponente" DisplayField="EstadoNombre" ValueField="Id" 
                                                             AllowBlank="False">
                                                           <Listeners>
                                                               
                                                               <BeforeRender Handler="pgHomologacionDirecta.ChangeCbbEstadoD(item);"></BeforeRender>
                                                           </Listeners>
                                                        </ext:ComboBox> 
                                                    </Editor>
                                                </ext:Column>
                                                <ext:Column Header="Realizado por" DataIndex="Usuario" />
                                            </Columns>
                                            
                                        </ColumnModel>
                                        <Plugins>
                                            <ext:EditableGrid ID="EditableGrid1" runat="server"   >
                                               
                                            </ext:EditableGrid>
                                            <ext:RowExpander ID="RowExpander" runat="server">
                                                <Component>
                                                    <ext:FormPanel ID="RowEditor1" runat="server" Padding="6" Height="120" Border="false"
                                                        Layout="form" ForceLayout="true" ButtonAlign="Right" Cls="white-footer">
                                                        <Items>
                                                            <ext:Label runat="server" Text="Componentes Origen" Width="150" />
                                                            <ext:Panel ID="RowEditorPanel" runat="server" AutoHeight="True" AutoWidth="True"
                                                                Padding="1">
                                                                <Content>
                                                                </Content>
                                                            </ext:Panel>
                                                        </Items>
                                                    </ext:FormPanel>
                                                </Component>
                                                <Listeners>
                                                    <Expand Handler="pgHomologacionDirecta.ExpandHandler(record);" />
                                                </Listeners>
                                            </ext:RowExpander>
                                        </Plugins>
                                        <View>
                                            <ext:GridView ID="GridView1" runat="server" ForceFit="true" />
                                        </View>
                                        <BottomBar>
                                            <ext:Toolbar ID="Toolbar1" runat="server">
                                                <Items>
                                                    <ext:Label ID="lblTotalGrpDestino" runat="server" Icon="TableSort" />
                                                    <ext:ToolbarFill ID="ToolbarFill1" runat="server" />
                                                </Items>
                                            </ext:Toolbar>
                                        </BottomBar>
                                        <DirectEvents>
                                            <Command OnEvent="EliminarComponenteReconocido">
                                                <ExtraParams>
                                                    <ext:Parameter Name="ComponenteId" Value="record.data.ComponenteId" Mode="Raw"/>
                                                    
                                                </ExtraParams>
                                                <EventMask ShowMask="true"></EventMask>
                                                <Confirmation ConfirmRequest="True" Message="Esta seguro de eliminar el item?"></Confirmation>
                                            </Command>
                                        </DirectEvents>
                                        <Listeners>
                                            <AfterRender Handler="pgHomologacionDirecta.Init();"></AfterRender>
                                            
                                        </Listeners>
                                    </ext:GridPanel>
                                </Items>
                                <Buttons>
                                    <ext:Button ID="btnGuardar" runat="server" Text="Guardar">
                                        <DirectEvents>
                                            <Click OnEvent="btnGuardar_Click" Before="return pgHomologacionDirecta.ValidarDatosGlobal();">
                                                <EventMask ShowMask="true" />
                                                <ExtraParams>
                                                    <ext:Parameter Name="PersonaId" Value="#{wccBuscadorBasicoPersona2}.getValueId()" Mode="Raw" />
                                                    <ext:Parameter Name="VariacionId" Value="#{cbbProgramaAcademico}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="Modalidad" Value="#{hddModalidad}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="Opcion" Value="Editar"/>
                                                    <ext:Parameter Name="PeriodoAcademicoId" Value="#{cbbPeriodoAcademico}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="ComponentesReconocidos" Value="Ext.encode(#{stoComponenteReconocidos}.getRecordsValues())" Mode="Raw" />
                                                    <ext:Parameter Name="PlanesOrigen" Value="Ext.encode(#{gpProgramOrigen}.getRowsValues({selectedOnly:true}))" Mode="Raw" />
                                                    <ext:Parameter Name="ComponentesOrigenes" Value="Ext.encode(#{stoComponenteNoReconocidos}.getRecordsValues())" Mode="Raw" />
                                                </ExtraParams>
                                            </Click>
                                        </DirectEvents>
                                    </ext:Button>
                                    <ext:Button ID="btnEliminar" runat="server" Text="Eliminar" Hidden="True" ><DirectEvents>
                                            <Click OnEvent="btnEliminar_Click" >
                                                <EventMask ShowMask="true" />
                                                <Confirmation ConfirmRequest="True" Message="Esta seguro de eliminar el proceso de reconocimiento"></Confirmation>
                                            </Click>
                                        </DirectEvents>
                                    </ext:Button>
                                    <ext:Button ID="btnCancelar" runat="server" Text="Cancelar"><DirectEvents>
                                            <Click OnEvent="btnCancelar_Click" >
                                                <EventMask ShowMask="true" />
                                                <Confirmation ConfirmRequest="True" Message="Esta seguro de cancelar el reconocimiento"></Confirmation>
                                            </Click>
                                        </DirectEvents>
                                    </ext:Button>
                                    <ext:Button ID="btnFinalizar" runat="server" Text="Finalizar">
                                        <DirectEvents>
                                            <Click OnEvent="btnGuardar_Click" Before="return pgHomologacionDirecta.ValidarDatosGlobal();">
                                                <EventMask ShowMask="true" />
                                                <ExtraParams>
                                                    <ext:Parameter Name="PersonaId" Value="#{wccBuscadorBasicoPersona2}.getValueId()" Mode="Raw" />
                                                    <ext:Parameter Name="VariacionId" Value="#{cbbProgramaAcademico}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="Modalidad" Value="#{hddModalidad}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="Opcion" Value="Finalizar"/>
                                                    <ext:Parameter Name="PeriodoAcademicoId" Value="#{cbbPeriodoAcademico}.getValue()" Mode="Raw" />
                                                    <ext:Parameter Name="ComponentesReconocidos" Value="Ext.encode(#{stoComponenteReconocidos}.getRecordsValues())" Mode="Raw" />
                                                    <ext:Parameter Name="PlanesOrigen" Value="Ext.encode(#{gpProgramOrigen}.getRowsValues({selectedOnly:true}))" Mode="Raw" />
                                                    <ext:Parameter Name="ComponentesOrigenes" Value="Ext.encode(#{stoComponenteNoReconocidos}.getRecordsValues())" Mode="Raw" />
                                                </ExtraParams>
                                                <Confirmation ConfirmRequest="True" Message="Esta seguro de finalizar el Reconocimiento"></Confirmation>
                                            </Click>
                                        </DirectEvents>
                                    </ext:Button>
                                </Buttons>
                            </ext:Panel>
                        </Items>
                    </ext:Panel>

            <ext:Panel runat="server" ID="pnlReconocimientos" Layout="Fit"  BodyStyle="background-color:transparent;">
                 
            <Items>
                <ext:FormPanel ID="frpReconocimiento" runat="server" BodyStyle="background-color:transparent;"
                    Split="true" ButtonAlign="Center" Border="false" Header="false" Layout="Form"
                    AutoHeight="true">
                    <Items>
                        <ext:Panel ID="Panel3" BodyStyle="background-color:transparent;" runat="server" Cls="x-panel-search"
                            AutoHeight="true">
                            <Items>
                                <ext:Panel ID="Panel4" Header="false" runat="server" AnchorHorizontal="100%"
                                    BodyStyle="background-color:transparent;" Cls="x-panel-search-content" Title="<%$ Res: Titulos.ConsultaIndividual %>"
                                    LabelWidth="120">
                                    <Items>
                                        <syllabus:wccbuscadorbasicopersona id="wccBuscadorBasicoPersona3" runat="server" FieldLabel="Solicitante"
                                            anchorhorizontal="100%">
                                        <Listeners>
                                            
                                            <BotonAvanzadoClick Handler="#{hddwccBuscarbasicoper}.setValue('wccBuscadorBasicoPersona3');#{wccBuscadorAvanzadoPersona2}.show();" />
                                        </Listeners>    
                                        </syllabus:wccbuscadorbasicopersona>
                                    </Items>
                                </ext:Panel>
                                <ext:Panel ID="Panel5" runat="server" BodyStyle="background-color:Transparent;" Layout="Column"
                                    Height="60" Border="False" Cls="x-panel-search-content" >
                                    <Items>
                                        <ext:Panel ID="Panel6" runat="server" ColumnWidth=".33" Layout="Form" Border="false"
                                            Header="false" BodyStyle="padding:5px;background-color:Transparent;" LabelWidth="120">
                                            <Items>
                                                <ext:NumberField FieldLabel="Número de proceso" ID="txtNumeroProceso" runat="server"
                                                     AnchorHorizontal="95%">
                                                </ext:NumberField>
                                            </Items>
                                        </ext:Panel>
                                        <ext:Panel ID="Panel7" runat="server" ColumnWidth=".33" Layout="Form" Border="false"
                                            BodyStyle="padding:5px;background-color:Transparent;" LabelWidth="120">
                                            <Items>
                                                <ext:ComboBox FieldLabel="<%$ Res: Textos.PeriodoAcademico %>" ID="cbbPeriodoAcademicoB" 
                                                     runat="server" DisplayField="Nombre" ValueField="Id" TypeAhead="true"
                                                    Store="stoPeriodoAcademico" ForceSelection="true" TriggerAction="All" EmptyText="<%$ Res: Textos.EmptyText %>"
                                                    SelectOnFocus="true" Mode="Local" ItemSelector="div.list-item" AnchorHorizontal="95%">
                                                    <Template ID="Template1" runat="server">
                                                        <Html>
                                                            <tpl for=".">
                                                <div class="list-item">
                                                    {Nombre}
                                                </div>
                                            </tpl>
                                                        </Html>
                                                    </Template>
                                                    <Triggers>
                                                        <ext:FieldTrigger Icon="Clear" HideTrigger="true" />
                                                    </Triggers>
                                                    <Listeners>
                                                        <Select Handler="this.triggers[0].show();" />
                                                        <BeforeQuery Handler="this.triggers[0][ this.getRawValue().toString().length == 0 ? 'hide' : 'show']();" />
                                                        <TriggerClick Handler="if(index == 0) { this.clearValue(); this.triggers[0].hide(); };" />
                                                    </Listeners>
                                                </ext:ComboBox>
                                            </Items>
                                        </ext:Panel>
                                        <ext:Panel ID="Panel8" runat="server" ColumnWidth=".33" Layout="Form" Border="false"
                                            BodyStyle="padding:5px;background-color:Transparent;" LabelWidth="70">
                                            <Items>
                                                <ext:ComboBox ID="cbbEstado" FieldLabel="Estado" runat="server" DisplayField="Nombre"
                                                    ValueField="Nombre" EmptyText="<%$ Res: Textos.EmptyText %>" Editable="false"
                                                    AnchorHorizontal="99%"  >
                                                    <Store>
                                                        <ext:Store ID="stoEstadoReconocimiento" runat="server">
                                                            <Reader>
                                                                <ext:JSonReader IDProperty="Id">
                                                                    <Fields>
                                                                        <ext:RecordField Name="Id" />
                                                                        <ext:RecordField Name="Nombre" Type="String" />
                                                                    </Fields>
                                                                </ext:JSonReader>

                                                            </Reader>
                                                        </ext:Store>
                                                    </Store>
                                                    <Triggers>
                                                        <ext:FieldTrigger Icon="Clear" HideTrigger="true" />
                                                    </Triggers>
                                                    <Listeners>
                                                        <Select Handler="this.triggers[0].show();" />
                                                        <BeforeQuery Handler="this.triggers[0][ this.getRawValue().toString().length == 0 ? 'hide' : 'show']();" />
                                                        <TriggerClick Handler="if(index == 0) { this.clearValue(); this.triggers[0].hide(); };" />
                                                    </Listeners>
                                                </ext:ComboBox>
                                            </Items>
                                        </ext:Panel>
                                    </Items>
                                </ext:Panel>
                            </Items>
                        </ext:Panel>
                    </Items>
                    <Buttons>
                        <ext:Button runat="server" ID="btnBuscar" Text="Buscar">
                            <Listeners>
                                <Click Handler="pgHomologacionDirecta.buscar();" />
                            </Listeners>
                        </ext:Button>
                    </Buttons>
                </ext:FormPanel>
                <ext:GridPanel ID="gpReconocimiento" runat="server" StoreID="stoReconocimiento" AutoExpandColumn="NombreVariacion"
                     Flex="1" Title="Listado de reconocimientos" Height="500"  >
                    
                    <TopBar>
                        <ext:Toolbar ID="Toolbar2" runat="server">
                            <Items>
                                <ext:ToolbarFill ID="ToolbarFill2" runat="server" />
                                <ext:Button runat="server" ID="btnNuevo" Text="Nuevo" Icon="PageAdd">
                                    <DirectEvents>
                                        <Click OnEvent="btnNuevo_Click" Success="pgHomologacionDirecta.MostrarReconocimiento();">
                                            <EventMask ShowMask="True"/>
                                        </Click>
                                    </DirectEvents>
                                </ext:Button>
                            </Items>
                        </ext:Toolbar>
                    </TopBar>
                    <ColumnModel ID="ColumnModel1" runat="server">
                        <Columns>
                            <ext:CommandColumn Width="65">
                                <Commands>
                                    <ext:GridCommand CommandName="Editar" Icon="ApplicationEdit" ToolTip-Text="Editar datos "/>
                                    <ext:GridCommand CommandName="Eliminar" Icon="PageDelete" ToolTip-Text="Eliminar item"/>
                                    <ext:GridCommand CommandName="Reporte" Icon="ReportPicture" ToolTip-Text="Reporte"/>
                                </Commands>
                            </ext:CommandColumn>
                            <ext:Column Header="Numero Proceso" DataIndex="NumeroProceso" Width="90" />
                            <ext:Column Header="Variación" ColumnID="NombreVariacion" DataIndex="NombreVariacion" >
                                <Renderer Fn="Sy.Render.textoWrap" />
                            </ext:Column>
                            <ext:Column Header="Solicitante"  DataIndex="NombreSolicitante" Width="150" >
                                <Renderer Fn="Sy.Render.textoWrap" />
                            </ext:Column>
                            <ext:Column Header="Periódo Académico" DataIndex="PeriodoAcademico" Width="130" />
                            <ext:Column Header="Estado" DataIndex="Estado" />
                            <ext:Column Header="Usuario Crea" DataIndex="UsuarioCrea" Width="100" >
                                <Renderer Fn="Sy.Render.textoWrap" />
                            </ext:Column>
                            <ext:Column Header="Usuario Actualiza" DataIndex="UsuarioActualiza" Width="100" >
                                <Renderer Fn="Sy.Render.textoWrap" />
                            </ext:Column>
                            <ext:Column Header="Usuario Finaliza" DataIndex="UsuarioFinaliza" Width="100" >
                                <Renderer Fn="Sy.Render.textoWrap" />
                            </ext:Column>
                        </Columns>
                    </ColumnModel>
                    <DirectEvents>
                        <Command Before="return pgHomologacionDirecta.ValidacionPrevioComand(record,command);" OnEvent="gpReconocimiento_command_Click">
                            <ExtraParams>
                                <ext:Parameter Name="Operacion" Value="command" Mode="Raw" Encode="False" />
                                <ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw" />
                            </ExtraParams>
                            <EventMask ShowMask="true"></EventMask>
                        </Command>
                    </DirectEvents>
                    <SelectionModel>
                        <ext:RowSelectionModel ID="RowSelectionModel2" runat="server" SingleSelect="true">
                        </ext:RowSelectionModel>
                    </SelectionModel>
                    <BottomBar>
                    <ext:PagingToolbar ID="ptbBuscarReconocimiento" runat="server" StoreID="stoReconocimiento"
                        DisplayInfo="true" EmptyMsg="<%$ Res: Textos.EmptyMsg %>" />
                </BottomBar>
                </ext:GridPanel>
            </Items>
            </ext:Panel>
            </Items>
        </ext:Panel>
        </Items>
    </ext:Viewport>
    <syllabus:wccbuscadoravanzadopersona id="wccBuscadorAvanzadoPersona2" runat="server"
        seleccionsimple="true">
        <Listeners>
            <AfterAccept Fn="pgHomologacionDirecta.closeComponente(records);" />
        </Listeners>
    </syllabus:wccbuscadoravanzadopersona>
    <ext:Window ID="winRecManual" runat="server" Title="Información para reconocimiento manual del componente"
        Width="380" Height="300" Modal="true" Padding="10" Hidden="true" Resizable="False"
        InitCenter="True" ButtonAlign="Center" Layout="Fit">
        <Items>
            <ext:FormPanel ID="frmDatosRecCoeManual" runat="server" Border="false" BodyStyle="background-color:transparent;"
                Layout="Form" Padding="5">
                <Items>
                    <ext:TextField ID="txtAsignaturaId" runat="server" FieldLabel="Id" ReadOnly="True" Hidden="True" DataIndex="AsignaturaId" />
                    <ext:TextField ID="txtCodigo" runat="server" ReadOnly="True" Hidden="True" DataIndex="Codigo" />
                    <ext:TextField ID="txtPlanEstudioId" runat="server" ReadOnly="True" Hidden="True" DataIndex="PlanEstudioId" />
                    <ext:NumberField ID="nufNivel" runat="server" ReadOnly="True" Hidden="True" DataIndex="Nivel" />
                    <ext:TextField ID="txtNombre" runat="server" FieldLabel="Nombre" ReadOnly="True" DataIndex="Nombre" AnchorHorizontal="95%" />
                    <ext:TextField ID="txtGrupoCredito" runat="server" ReadOnly="True" DataIndex="GrupoCredito"  FieldLabel="Grupo Origen"/>

                    <ext:NumberField runat="server" ID="nufCreditos" AllowBlank="false" AllowDecimals="false"
                        MaxLengthText="Min 2" MaxLength="2" FieldLabel="Creditos" DataIndex="Creditos" />

                    <ext:NumberField runat="server" ID="nufNota" AllowBlank="false" AllowDecimals="false"
                        MaxLengthText="Min 3" MaxLength="3" FieldLabel="Nota" DataIndex="Nota" />

                    <ext:ComboBox ID="cbbGrupoId" runat="server" Shadow="Drop" Mode="Local" TriggerAction="All"
                        FieldLabel="Grupo" ForceSelection="true" StoreID="stoGrupo" DisplayField="GrupoNombre"
                        ValueField="GrupoId" AllowBlank="false"  />

                    <ext:ComboBox ID="cbbEstadoReconocimiento" runat="server" Shadow="Drop" Mode="Local"
                        TriggerAction="All" FieldLabel="Estado" ForceSelection="true" StoreID="stoEstadoComponente"
                        DisplayField="EstadoNombre" ValueField="Id" AllowBlank="false" />

                    <ext:RadioGroup ID="UsoId" runat="server" AllowBlank="false">
                        <Items>
                            <ext:Radio ID="Radio1" runat="server" BoxLabel="General" InputValue="1"/>
                            <ext:Radio ID="Radio2" runat="server" BoxLabel="Especifico" InputValue="0"/>
                        </Items>
                    </ext:RadioGroup>
                </Items>
            </ext:FormPanel>
        </Items>
        <Buttons>
            <ext:Button ID="btnAgregaComponenteManual" runat="server" Text="Aceptar">
                <DirectEvents>
                    <Click OnEvent="btnAgregaComponenteManual_Click" Success="pgHomologacionDirecta.ExitoReconocimientoManual();" Before="return pgHomologacionDirecta.ValidarGuardarReconocimientoManual();">
                        <ExtraParams>
                            <ext:Parameter Name="AsignaturaId" Value="#{txtAsignaturaId}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Nombre" Value="#{txtNombre}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="PlanEstudioId" Value="#{txtPlanEstudioId}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Codigo" Value="#{txtCodigo}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Creditos" Value="#{nufCreditos}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Nota" Value="#{nufNota}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Nivel" Value="#{nufNivel}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="GrupoId" Value="#{cbbGrupoId}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="GrupoCredito" Value="#{txtGrupoCredito}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="Estado" Value="#{cbbEstadoReconocimiento}.getValue()" Mode="Raw" />
                            <ext:Parameter Name="EstadoEquivalencia" Value="(#{UsoId}.getValue()!=null)?#{UsoId}.getValue().inputValue:''" Mode="Raw" />
                        </ExtraParams>
                        <EventMask ShowMask="true"></EventMask>
                    </Click>
                </DirectEvents>
            </ext:Button>
            <ext:Button ID="CancelButton" runat="server" Text="Cancelar">
                <Listeners>
                    <Click Handler="pgHomologacionDirecta.ExitoReconocimientoManual();" />
                </Listeners>
            </ext:Button>
        </Buttons>
    </ext:Window>
</body>
</html>
<ext:XScript ID="XScript1" runat="server">
    <script language="javascript" type="text/javascript">
        /** 
        * Autor:Dmos
        * Objeto contenedor de metodo y funciones
        * @param {value} Valor a renderizar
        */ 
        var pgHomologacionDirecta = new Object();
        pgHomologacionDirecta.presentaMensaje=true;
        pgHomologacionDirecta.win = null;
        pgHomologacionDirecta.record = null;
        pgHomologacionDirecta.ejecutaEvento = true;
        pgHomologacionDirecta.nameColValidateEdit = new Array();

        pgHomologacionDirecta.ControlaEdicion = function(item,rowIndex,columnIndex,e) {
            alert(columnIndex);
        };
        pgHomologacionDirecta.ExitoReconocimientoManual = function (){
            #{winRecManual}.hide(null);
            #{frmDatosRecCoeManual}.reset();
        };
            pgHomologacionDirecta.LimpiarBuscadorPersona = function (){
            #{wccBuscadorBasicoPersona2}.reset();
            #{wccBuscadorBasicoPersona2}.setDisabled(false);
        };
        
            pgHomologacionDirecta.ValidacionPrevioComand = function (record,comand) {
            switch (comand) {
            case 'Editar':
            if (record.data.Estado == 'Registrada') return true; 
            else {
            Sy.showMsgAlerta('No se puede editar un reconocimiento con estado '+record.data.Estado); 
            return false;
        }
            case 'Eliminar':
            if (record.data.Estado == 'Registrada') return true; 
            else {
            Sy.showMsgAlerta('No se puede eliminar un reconocimiento con estado '+record.data.Estado); 
            return false;
        }
            case 'Reporte':
            if (record.data.Estado == 'Evaluada') return true; 
            else {
            Sy.showMsgAlerta('No se puede generar un reporte con un reconocimiento con estado '+record.data.Estado); 
            return false;
        }
        }
            
        };
            /*
        * Permite realizar la busqueda de reconocimientos
        */
            pgHomologacionDirecta.buscar = function () {
            #{stoReconocimiento}.load();
        };
            
            /*
        * Permite cerrar la ventana del reporte
        */
            pgHomologacionDirecta.Hide =function () {
            pgHomologacionDirecta.win.hide();
            pgHomologacionDirecta.win.removeAll();
            pgHomologacionDirecta.win.destroy();
        };
            
            /*
        * Permite generar el reporte
        */
            pgHomologacionDirecta.generarReporte =function(){
            pgHomologacionDirecta.win = new Ext.Window({
            hidden: true,
            renderTo: Ext.getBody(),
            autoScroll: true,
            height: 600,
            width: 800,
            modal: true,
            autoLoad: {
                        
            url: "Reportes/pgReporteReconocimiento.aspx",
            scripts: true,
            mode: "iframe",
            triggerEvent: "show",
            reloadOnEvent: true,
            showMask: true,
            maskMsg: Sy.Recursos.get('Mensajes.Cargando')
        },
            buttonAlign: "center",
            buttons: [
            {
            xtype: "button",
            text: "Aceptar",
            listeners: {
            click: { fn: pgHomologacionDirecta.Hide }
        }
        }
        ],
            iconCls: "icon-printer",
            title: Sy.Recursos.get('Titulos.Impresion'),
            constrainHeader: true
        });                
            pgHomologacionDirecta.win.show();
        };
            /*
        * Autor: Luis Cuenca
        * Permite ocultar panel de busqueda y mostrar el panel para trabajar con el reconocimiento de estudio
        */
            pgHomologacionDirecta.MostrarReconocimiento = function (){
            #{pnlReconocimientos}.hide();
            #{pnlBorderLayout}.show();
            #{frpResumen}.setWidth(351);
            //alert(#{pnlIzquierdo}.getWidth());
            //alert(#{gpProgramOrigen}.getWidth());
            //#{gpProgramOrigen}.setWidth(#{gpProgramOrigen}.getWidth()-1)
        };
            /*
        * Autor: Luis Cuenca
        * Permite Mostra el panel de busqueda y Cerrar el panel para trabajar con el reconocimiento de estudio
        */
            pgHomologacionDirecta.OcultarReconocimiento = function (){
            #{pnlBorderLayout}.hide();
            #{pnlReconocimientos}.show();
        };
            /*
        * Inicializar objeto
        */
            pgHomologacionDirecta.Init = function() {
            var cm = #{grpDestino}.getColumnModel(),len = cm.getColumnCount();
            pgHomologacionDirecta.nameColValidateEdit = new Array();
            for (var i = 0; i < len; i++) {
            var c = cm.getColumnAt(i),ed = c.editor;
            if (ed!=null  && !ed.allowBlank)
            {
            pgHomologacionDirecta.nameColValidateEdit.push(c.dataIndex);
        }
        }
        };

            pgHomologacionDirecta.ExitoGuardar = function(){
            Sy.showMsgInformativo('El proceso de Reconocimiento se guardo exitosamente');
            pgHomologacionDirecta.OcultarReconocimiento();
            pgHomologacionDirecta.buscar();
        };
            pgHomologacionDirecta.ExitoFinalizar = function(){
            Sy.showMsgInformativo('El proceso de Reconocimiento finalizo exitosamente');
            pgHomologacionDirecta.OcultarReconocimiento();
            pgHomologacionDirecta.buscar();
        };
            pgHomologacionDirecta.ExitoEliminar = function(){
            Sy.showMsgInformativo('El proceso de Reconocimiento se elimino exitosamente');
            pgHomologacionDirecta.OcultarReconocimiento();
            pgHomologacionDirecta.buscar();
        };

            /*
        * Ejecuta la acción de validación de panel para busqueda
        */
            pgHomologacionDirecta.ValidarDatosEvaluacion = function () {
            if (#{frpHomologacionBusqueda}.getForm().isValid() )
            if (#{grpOrigen}.getStore().getCount()!=0){
            return true;
        }
            else{ 
            Sy.showMsgAlerta('Debe existir al menos un componente a reconocer');
        }
            else{
            Sy.showMsgAlerta('Datos obligatorios');
        }
            return false;
        };
               
            /*
        * Ejecuta la acción de agregar una fila a la grid destino
        */
            pgHomologacionDirecta.CancelRow = function (el,forced) {
            var rowIndex=#{hddindexSelect}.getValue();
            #{grpOrigen}.getSelectionModel().deselectRow(rowIndex,false);
        };  
            
            /** 
        * Base: Diego Castillo
        * Modificado:Dmos
        * Renderiza los Integrados
        * @param {value} Valor a renderizar
        */
            pgHomologacionDirecta.RenderColumnTable = function (value) {
            if (value.length > 0) {
            #{storeTabla}.removeAll();
            for (var i = 0; i < value.length; i++) {
            var info = value[i];                
            #{storeTabla}.insertRecord(0, {
            'Nombre': info.Nombre,
            'Codigo': info.Codigo,
            'Nota': info.Nota,
            'Estado': info.Estado
        });
        }
            var datosTabla = Syllabus.Js.Util.StoreToTable({
            width: '90%',
            store: #{storeTabla},
            withHeaders: true,
            cols: [{
            header: 'Nombre',
            field: 'Nombre'   
        }, 
            {
            header: 'Codigo',
            field: 'Codigo'                
        } , 
            {
            header: 'Nota',
            field: 'Nota'                
        }, 
            {
            header: 'Estado',
            field: 'Estado'                
        }]
        });
            return datosTabla.getHTML();
        }
        };
            /*
        * Ejecuta la acción de reder id de grupo de grid-origen
        */       
            pgHomologacionDirecta.ExpandHandler= function (record) {
            var htmlEdit = pgHomologacionDirecta.RenderColumnTable(record.data.ComponentesOrigen);
            #{RowEditor1}.record = record; 
            #{RowEditor1}.getForm().loadRecord(record);
            #{RowEditorPanel}.body.update(htmlEdit);
        };  
            /*
        * Ejecuta la acción de reder id de grupo de grid-origen
        */       
            pgHomologacionDirecta.btnCancelRowExpanderHandler= function () {
            #{RowExpander}.collapseRow(#{Store2}.indexOf(#{RowEditor}.record));
                    
        };
            /*
        *private:Asignar valore de recor a ventana winRecManual
        *
        */
            pgHomologacionDirecta.setRowEdit= function(record){
            var valHidden = pgHomologacionDirecta.getIfHiddenColumn();
            #{nufCreditos}.allowBlank=valHidden;
            if(valHidden)
            #{nufCreditos}.hide();
            else 
            #{nufCreditos}.show();
            pgHomologacionDirecta.record = record; 
            #{frmDatosRecCoeManual}.getForm().loadRecord(record);
            
            if (record.get("GrupoCreditoId")==0)
            #{cbbGrupoId}.reset();
            
            #{winRecManual}.show();
            
           
        };
            /*
        *Temporalmente guarda rowIndex de la grid grpOrigen y muestra ventana de valores
        */
            pgHomologacionDirecta.CellClick = function (command,record,rowIndex,colIndex) {
            #{hddindexSelect}.setValue(rowIndex);
            pgHomologacionDirecta.setRowEdit(record);
        };
            /*
        * Determina si se debe agregar columna segun opcion cbb
        */
            pgHomologacionDirecta.getIfHiddenColumn = function (){
            var valHidden= (#{hddCodeEstado}.getValue()==#{cbbProgramaAcademico}.getValue());
            return (valHidden);
        };
            
           

            pgHomologacionDirecta.ValidarGuardarReconocimientoManual= function(){
            var flag =#{frmDatosRecCoeManual}.getForm().isValid();
            if (!flag)
            Sy.showMsgAlerta('Datos obligatorios');
            return(flag);
        };
            /*
        *Permite vizualir Totales en grids origen-destino
        */    
            pgHomologacionDirecta.CountTotal= function(records,idlblGrid){
            var lbl  = Ext.getCmp(idlblGrid);
            lbl.setText('Total = '+records.totalLength);
        };
            /*
        *Permite contabilizar el numero de coe reconocidos y coe no reconocidos
        */    
            pgHomologacionDirecta.ContadorCoeReconocidoNoReconocido=function(dehabilita){
            var cm = #{grpOrigen}.getColumnModel();
            var valHidden = pgHomologacionDirecta.getIfHiddenColumn();
            var c = cm.getColumnAt(2);
            cm.setHidden(2,valHidden);
            #{lblTotalGrpOrigen}.setText('Total = '+#{stoComponenteNoReconocidos}.data.length);
            #{lblTotalGrpDestino}.setText('Total = '+#{stoComponenteReconocidos}.data.length);
            if (#{grpOrigen}.getStore().getCount()!=0)
            {
            #{wccBuscadorBasicoPersona2_btnBuscar}.setDisabled(true);
            #{wccBuscadorBasicoPersona2_btnBuscarAvanzado}.setDisabled(true);
        }
            else
            {
            if (dehabilita==1){
                #{wccBuscadorBasicoPersona2_btnBuscar}.setDisabled(false);
                #{wccBuscadorBasicoPersona2_btnBuscarAvanzado}.setDisabled(false);
            }
        }
        };
                
            /*
        * Ejecuta la acción de validación global grpDestino
        */
            pgHomologacionDirecta.ValidarDatosGlobal = function () {
            var valid = true,
            store=#{grpDestino}.getStore();  
            var msg = 'Datos obligatorios';
            valid =(store.getCount()==0)?false:true;//1.-Existan almenos 1 item
            if(!valid)
            {
            Sy.showMsgAlerta('Debe agregar por lo menos un componente a reconocer');
            return valid;
        }
            store.each(function (record, index) {
            for (var i = 0; i < pgHomologacionDirecta.nameColValidateEdit.length; i++) {//2.-Los items existentes obligatorios contengan datos
            var nameRow =pgHomologacionDirecta.nameColValidateEdit[i];
            var valueRow =record.get(nameRow);
            if (valueRow== null || valueRow==undefined || valueRow.toString() == "") {
                valid = false;
                return false;   
            }
            
            if (nameRow=='Creditos'){
            var valorCreditos = parseInt(valueRow);
            if (valorCreditos<0){
                msg='El número de Créditos no puede ser menor a cero';
                valid = false;return false;
            }
            }
            if (nameRow=='Nota'){
            var valorNota = parseInt(valueRow);
            if (valorNota<0){
                msg='La Nota no puede ser menor a cero';
                valid = false;return false;
            }
        }
                       
            }
            if(!valid)
            return false;
        });
             
            if(!valid)
            Sy.showMsgAlerta(msg);
           
            return (valid);
          
        };
                 
            /*
        *Hablitar cbo variacion
        */    
            pgHomologacionDirecta.HabilitarVariacion= function (data,encontrado){ 
            #{cbbProgramaAcademico}.setDisabled(!encontrado);   
        };
            pgHomologacionDirecta.limpiarFiltrosDatos = function (){ 
          
            #{gpProgramOrigen}.store.removeAll();
            #{cbbProgramaAcademico}.reset();
            #{cbbPeriodoAcademico}.reset();
            #{cbbUnidadAcademica}.reset();
            #{cbbNivelAcademico}.reset();
            #{cbbModalidadEstudioBusqueda}.reset();
            
          
        };   

            /*
        *Deshablitar cbo variacion en el evento limpiar wuc-persona
        */    
            pgHomologacionDirecta.DesHabilitarVariacion = function (){ 
            #{cbbProgramaAcademico}.setDisabled(true); 
            pgHomologacionDirecta.limpiarFiltrosDatos(); 
            
          
        };
            /*
        *No permitir cambiar la variacion si existen componentes reconocidos
        */            
            pgHomologacionDirecta.BeforeSelectCbbProgramaAcademi = function (item)
            {
            //var flag= (#{gpProgramOrigen}.getSelectionModel().getCount()==0);
            var flag  =( #{grpOrigen}.getStore().getCount()==0);
            var itemCmp  =(item!=null)?item:#{cbbProgramaAcademico};
            if(flag==false)
            {
            Sy.showMsgAlerta( 'No se puede quitar seleción, existen componentes a reconocer');
            itemCmp.lockedBeforeSelect = true;
        }
            else
            {
            itemCmp.lockedBeforeSelect = false;
        }
            
            return flag;
            
        };
            /*
        *Setear buscador persona basico con buscador persona abanzado
        */
            pgHomologacionDirecta.closeComponente = function(records)   {
            var idCmp =#{hddwccBuscarbasicoper}.getValue();
            var wucPer=Ext.getCmp(idCmp);
            wucPer.setValue(records);
            #{wccBuscadorAvanzadoPersona2}.hide();   
            if (idCmp=="wccBuscadorBasicoPersona2")
            {
            pgHomologacionDirecta.limpiarFiltrosDatos(); 
            #{cbbProgramaAcademico}.setDisabled(false);
        }
           
        };
            pgHomologacionDirecta.BeforeRowSelectGpProgramOrigen = function(item,rowIndex,record){                
            record.data.isDisabled=(record.get("isDisabled")=="")?false:true;
            return (true);
        };
            
            /*
        *Si un item se encuentra en componente reconocido deshabilitar la seleccion
        */
            pgHomologacionDirecta.beforeRowDeSelectGpProgramOrigen = function(itemSelect){
            var encontrado=false; 
            var rowIdDelete =itemSelect.get("PlanAsignaturas").slice();
            store=#{grpDestino}.getStore();  
            for (var index = 0; index < store.getCount(); index++){
            encontrado=0;
            var record =  store.data.items[index];
            var subItems   = record.get("ComponentesOrigen");
            for (var i = 0; i < subItems.length; i++){
            var dato   =subItems[i].Id;
            var  h=0,n=rowIdDelete.length;
            while(h<n && !encontrado)
            {
            encontrado=(dato== rowIdDelete[h].Id);
            if(!encontrado) h++;        
        }
            if (encontrado){					
            break;
        } 
        }
            if (encontrado)break;    
        }
            return  (encontrado);

        };
            pgHomologacionDirecta.RowSelectGpProgramOrigen= function(item,rowIndex,record) {
            var isDisabled =record.get("isDisabled");
            if(!isDisabled){
            ReconocimientoDM.AgregarAComponentesOrigen(Ext.encode(record.get("PlanAsignaturas")), {
            eventMask: {
            showMask: true,
            minDelay: 500
        }
        });
        }
        };
            /*
        * Metodo que permite habilitar/deshabilitar los botones de agregar/quitar asignaturas de los planes del estudiante
        */
            pgHomologacionDirecta.habilitarBtnToolbar = function(rowIndex,val,valId){
            if (rowIndex==-1){
            var lStoPO = #{gpProgramOrigen}.getStore();
            var lIndex= lStoPO.find( 'Id', valId);
            rowIndex = lIndex;
        }
            if(rowIndex>=0){
            var record    =#{gpProgramOrigen}.getStore().getAt(rowIndex);   
            var toolbar   = #{gpProgramOrigen}.getColumnModel().getColumnAt(0).getToolbar(rowIndex);
            var addButton = toolbar.items.get(0);
            var deleteButton = toolbar.items.get(1);
            addButton.setDisabled(val);
            deleteButton.setDisabled(!val);
            record.data.isDisabled=val;
        }
        };
            pgHomologacionDirecta.AgregarQuitarComponentesOrigenCmd= function(command, record,rowIndex,colIndex)
            {
               
            switch (command){
            case "Add": 
               
            ReconocimientoDM.AgregarAComponentesOrigen(Ext.encode(record.data), {
            eventMask: {
            showMask: true,
            minDelay: 500
        }
        }); 
                  
            record.data.isDisabled=false;
            pgHomologacionDirecta.habilitarBtnToolbar(rowIndex,true,0);
           
            break;
            case "Delete": 
            var isDisabled = pgHomologacionDirecta.beforeRowDeSelectGpProgramOrigen(record);
                      
            if(isDisabled)
            {
            #{gpProgramOrigen}.getSelectionModel().selectRow(rowIndex);
            Sy.showMsgAlerta('No se puede quitar seleción, un componente esta siendo usado en un componente reconocido');
            //Ext.Msg.show({icon: Ext.MessageBox.ERROR, msg: 'No se puede quitar seleción, elemento es un item componente reconocido',title: 'Aviso', buttons:Ext.Msg.OK});
        }
            else
            {
            ReconocimientoDM.QuitaComponentesdeOrigen(Ext.encode(record.data), {
            eventMask: {
            showMask: true,
            minDelay: 500
        }
        });
            
            record.data.isDisabled=true;
            pgHomologacionDirecta.habilitarBtnToolbar(rowIndex,false,0);
        }
            
            break;
                           
        }
        };
            pgHomologacionDirecta.prepare= function(grid, toolbar, rowIndex, record){
            //if(pgHomologacionDirecta.ejecutaEvento){
             
            var val=(record.data.isDisabled==""||record.data.isDisabled==false);
                
            var addButton = toolbar.items.get(0);
            var deleteButton = toolbar.items.get(1);
            addButton.setDisabled(!val);
            deleteButton.setDisabled(val);
            //pgHomologacionDirecta.ejecutaEvento = false;
            //}
        };
            /*
            pgHomologacionDirecta.RendererCbbEstadoD= function(value,metadata,record,rowIndex,colIndex,store){
            
            if (value == 0 ) return ""; else return value;
        };

            pgHomologacionDirecta.ResetwccBuscPers= function(){
            var flag=true;
            if (#{grpOrigen}.getStore().getCount()!=0)  
            {
            
            
            
            flag=false;
        }
          
            return (flag);
            
        };*/
            /*
            *Setear valor cero = "" en cbx
            */
            pgHomologacionDirecta.ChangeCbbEstadoD= function(item){
            if (item.getValue()==0){
            item.setValue("");
        }
        };
    </script>
</ext:XScript>
